// File: jmcomic-core/src/main/java/dev/jukomu/jmcomic/plugin/PluginValidationException.java
package dev.jukomu.jmcomic.plugin;

import dev.jukomu.jmcomic.exception.JmcomicException;

import java.util.HashMap;

/**
 * 对应Python的PluginValidationException，插件参数校验失败时抛出。
 */
public class PluginValidationException extends JmcomicException {

    private final JmOptionPlugin plugin;

    /**
     * 构造函数。
     *
     * @param plugin  抛出异常的插件实例。
     * @param message 异常消息。
     */
    public PluginValidationException(JmOptionPlugin plugin, String message) {
        super(message, new HashMap<String, Object>() {{
            put("plugin", plugin);
        }});
        this.plugin = plugin;
    }

    /**
     * 获取抛出异常的插件实例。
     *
     * @return JmOptionPlugin实例。
     */
    public JmOptionPlugin getPlugin() {
        return plugin;
    }
}